import time
import turtle  # 调用turtle库

def drawGap():
    turtle.penup()
    turtle.fd(5)

def drawLine(draw):  # 这段函数实现的是画一个数码管
    drawGap()
    turtle.pendown() if draw else turtle.penup()  # 如果这个数码管画了则落下，否则抬起。
    turtle.fd(40)
    drawGap()
    turtle.right(90)


def drawDigit(digit):
    drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 2, 6, 8] else drawLine(False)
    turtle.left(90)
    drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
    drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)


def drawDate(date):  # 设置时间函数，将时间进行逐一遍历输出。
    turtle.pencolor("red")  # 设置画笔颜色。
    for i in date:
        if i == '-':
            turtle.write('年', font=("Arial", 18, "normal"))
            turtle.pencolor("green")
            turtle.fd(40)
        elif i == '=':
            turtle.write('月', font=("Arial", 18, "normal"))
            turtle.pencolor("blue")
            turtle.fd(40)
        elif i == '+':
            turtle.write('日', font=("Arial", 18, "normal"))
            turtle.pencolor("red")
            turtle.fd(40)
        else:
            drawDigit(eval(i))


def main():
    turtle.setup(800, 350, 200, 200)  # 当前画布的大小
    turtle.penup()
    turtle.fd(-300)  # 当前画笔初始绘制所在的位置
    turtle.pensize(5)
    drawDate(time.strftime('%Y-%m=%d+', time.gmtime()))  # 调用drawDate参数，给他赋予一个参数。其中gmtime为获取当前系统时间
    #drawDate('2016-09=25+')
    # time.strftime为时间的格式化进行输出，用来定义输出效果。
    turtle.hideturtle()
    turtle.done()


main()
